const hazard = {
    // 隐患实体model
    "id": 1, // long id
    "deptId": 1, // 部门id
    "name": '隐患名称', // 名称
    "type": '隐患类别', // 通过字典定义，hazard_type
    "level": '隐患等级', // 通过字典定义，hazard_level
    "location": "隐患地点",
    "description": '隐患的详细描述', // 描述
    "attachments": [], // 附件信息集合，图片，文件？
    "remark": '', // 其它备注
    "checkDate": "", // 检查日期，发现日期
    "finishDate": "", // 整改完成日期
    "deadline": null, // 整改限期
    "supervised": false, // 督办状态，只有重大隐患时有督办
    "finished": false, // 整改状态，督办完成时，整改即完成
    "createBy": "创建人",
    "createTime": "2025-05-26 10:09:13",
    "updateBy": null,
    "updateTime": null
}

const hazardService = {
    getHazardList: (params) => {
        /*params = {
            pageNum: 1, // 页码从1开始
            pageSize: 10, // 分页大小
            keyword: '', // 搜索名称或者描述
            deptId: '', // 部门，不传搜索当前用户权限范围内的数据
            type: '', // 类型搜索，不传查所有
            level: '', // 等级搜索，不传查所有
            finished: '', // 状态搜索，不传查所有
            checkRange: [], // 检查日期查询范围，empty不限制
            finishRange: [], // 整改完成日期查询范围，empty不限制
            deadlineRange: [], // 整改限期查询范围，empty不限制
        }*/
        return [] // 返回hazard集合，+deptName用于显示监狱名称，分页结果集
    },
    addHazard: (hazard) => {
        // 新增隐患
    },
    editHazard: (hazard) => {
        // 更新隐患 // 只更新基本信息，状态信息要走流程
    },
    deleteHazard: (id) => {
        // 删除隐患 // 只能删除新增隐患，流转中的不能删
    },
    finishHazard: (data) => {
        // data: {id, finishDate}
        // 整改完成 -> hazard.finished = true
    },
    superviseHazard: (data) => {
        // data: {id, finishDate}
        // 督办完成，附整改完成 -> hazard.finished = true; hazard.supervised = true;
    },
    getHazardAlarm: () => {
        // 预警：hazard.finished = false && (hazard.level == '重大' || hazard.deadline < today)
        // 前端定期调用
        return {
            delayedCount: 0, // 延期隐患计数
            majorCount: 0 // 重大隐患计数
        }
    },
    getHazardDashboard: (deptId) => {
        // deptId 不传查当前账号所在部门的数据
        return {
            // 待各种状态确定好之后，再定义
            summary: {
                // 从details汇总
                total: 120,
                finished: 100,
                unfinished: 20,
                delayed: 1,
                finishedRate: '83%', // 取整即可

                // 动态项统计
                sumTypes: [{label: '分类1', value: 10}, {label: '分类2', value: 25}], // 根据字典hazard_type来
                sumLevels: [{label: '一般', value: 23}, {label: '重大', value: 1}] // 根据字典hazard_level来
            },
            details: [{
                deptId: '',
                deptName: '',
                total: 120,
                finished: 100,
                unfinished: 20,
                delayed: 1,
                finishedRate: '83%', // 取整即可

                // 动态项统计
                sumTypes: [{label: '分类1', value: 10}, {label: '分类2', value: 25}], // 根据字典hazard_type来
                sumLevels: [{label: '一般', value: 23}, {label: '重大', value: 1}] // 根据字典hazard_level来
            }]
        }
    }
}